local t = Def.ActorFrame{
	Def.ActorFrame{
		LoadActor("bannercover1")..{
			InitCommand=cmd(vertalign,bottom;x,SCREEN_CENTER_X-155;y,SCREEN_CENTER_Y-58;addy,-4;zoomtowidth,0;zoomtoheight,5;sleep,0.75;decelerate,0.3;zoomtowidth,264;decelerate,0.05;addy,4;zoomtoheight,200;diffusealpha,0.8;blend,'BlendMode_Add';zoomtoheight,40;);
		};

		LoadActor("bannercover1")..{
			InitCommand=cmd(vertalign,bottom;diffusealpha,0;x,SCREEN_CENTER_X-155;y,SCREEN_CENTER_Y-58;zoomtowidth,264;zoomtoheight,40;);
			OnCommand=cmd(stoptweening;blend,'BlendMode_Add';diffusealpha,0;sleep,1;linear,0.5;diffusealpha,1;linear,0.2;diffusealpha,0;);
			CurrentSongChangedMessageCommand=cmd(stoptweening;blend,'BlendMode_Add';diffusealpha,0;accelerate,0.1;diffusealpha,1;zoomtoheight,60;glow,color("0.5,0,0,1");decelerate,0.5;glow,color("0,0,0,0");diffusealpha,0;zoomtoheight,40;);
		};

		LoadActor("jacketback")..{
			InitCommand=cmd(x,SCREEN_CENTER_X+25;y,SCREEN_CENTER_Y-97;);
			OnCommand=function(self)
				if not GAMESTATE:IsCourseMode() then
					local song=GAMESTATE:GetCurrentSong();
					self:stoptweening();
					if song then
						if song:HasJacket() then
							self:diffusealpha(0);
							self:cropleft(1);
							self:sleep(0.7);
							self:linear(0.3);
							self:cropleft(0);
							self:diffusealpha(1);
							self:glow(color("0,1,1,0"));
							self:linear(0.05);
							self:glow(color("1,0,1,1"));
							self:decelerate(0.4);
							self:glow(color("1,0,1,0"));
						else
							self:diffusealpha(0);
						end;
					else
						self:diffusealpha(0);
					end;
				else
					self:stoptweening();
					self:diffusealpha(0);
				end;
			end;
			CurrentSongChangedMessageCommand=function(self)
				if not GAMESTATE:IsCourseMode() then
					local song=GAMESTATE:GetCurrentSong();
					self:stoptweening();
					if song then
						if song:HasJacket() then
							self:linear(0.1);
							self:diffusealpha(1);
						else
							self:linear(0.1);
							self:diffusealpha(0);
						end;
					else
						self:linear(0.1);
						self:diffusealpha(0);
					end;
				else
					self:stoptweening();
					self:linear(0.1);
					self:diffusealpha(0);
				end;
			end;
		};

		Def.Sprite {
			InitCommand=cmd(x,SCREEN_CENTER_X+24;y,SCREEN_CENTER_Y-97);
			OnCommand=cmd(zoomtowidth,120*4;zoomtoheight,120*0.025;diffusealpha,0;sleep,0.3;diffusealpha,0.8;accelerate,0.25;zoomtowidth,88;accelerate,0.25;zoomtoheight,88;);
			CurrentSongChangedMessageCommand=function(self)
				if not GAMESTATE:IsCourseMode() then
					local song=GAMESTATE:GetCurrentSong();
					self:stoptweening();
					if song then
						if song:HasJacket() then
							self:visible(true);
							self:LoadBackground(song:GetJacketPath());
							self:zoomtowidth(88);
							self:zoomtoheight(88);
							self:linear(0.15);
							self:cropleft(0);
							self:diffusealpha(0.8);
						else
							self:cropleft(1);
							self:diffusealpha(0);
							self:visible(false);
						end;
					else
						self:cropleft(1);
						self:diffusealpha(0);
					end;
				else
					self:stoptweening();
					self:diffusealpha(0);
					self:visible(false);
				end;
			end;
		};
	
		LoadActor("bannercover1")..{
			InitCommand=cmd(vertalign,top;x,SCREEN_CENTER_X-155;y,SCREEN_CENTER_Y-141;blend,'BlendMode_Add';);
			OnCommand=cmd(zoomtoheight,0;diffusealpha,0.4;sleep,0.75;decelerate,0.3;decelerate,0.05;zoomtoheight,40;diffusealpha,0.4;);
			CurrentSongChangedMessageCommand=function(self)
				if not GAMESTATE:IsCourseMode() then
					local song=GAMESTATE:GetCurrentSong();
					self:stoptweening();
					if song then
						if song:HasJacket() then
							self:decelerate(0.1);
							self:x(SCREEN_CENTER_X-155+48);
							self:zoomtowidth(264+96);
						else
							self:decelerate(0.1);
							self:x(SCREEN_CENTER_X-155);
							self:zoomtowidth(264);
						end;
					else
						self:decelerate(0.1);
						self:x(SCREEN_CENTER_X-155);
						self:zoomtowidth(264);
					end;
				else
					self:stoptweening();
					self:decelerate(0.1);
					self:x(SCREEN_CENTER_X-155);
					self:zoomtowidth(264);
				end;
			end;
		};

		LoadActor("bannerframe1")..{
			InitCommand=cmd(x,SCREEN_CENTER_X-283;y,SCREEN_CENTER_Y-109;);
			OnCommand=cmd(addx,131;zoomtoheight,30;sleep,0.4;decelerate,0.3;addx,-131;linear,0.1;zoomtoheight,122;glow,color("0,1,1,0");linear,0.05;glow,color("1,0,1,1");decelerate,0.4;glow,color("1,0,1,0"););
		};

		LoadActor("bannerframe2")..{
			InitCommand=cmd(x,SCREEN_CENTER_X-13;y,SCREEN_CENTER_Y-109);
			OnCommand=function(self)
				if not GAMESTATE:IsCourseMode() then
					local song=GAMESTATE:GetCurrentSong();
					if song then
						if song:HasJacket() then
							self:addx(-131-96);
							self:zoomtoheight(30);
							self:sleep(0.4);
							self:decelerate(0.3);
							self:addx(131+96);
							self:linear(0.1);
							self:zoomtoheight(122);
							self:glow(color("0,1,1,0"));
							self:linear(0.05);
							self:glow(color("1,0,1,1"));
							self:decelerate(0.4);
							self:glow(color("1,0,1,0"));
						else
							self:stoptweening();
							self:addx(-131);
							self:zoomtoheight(30);
							self:sleep(0.4);
							self:decelerate(0.3);
							self:addx(131);
							self:linear(0.1);
							self:zoomtoheight(122);
							self:glow(color("0,1,1,0"));
							self:linear(0.05);
							self:glow(color("1,0,1,1"));
							self:decelerate(0.4);
							self:glow(color("1,0,1,0"));
						end;
					else
						self:stoptweening();
						self:addx(-131);
						self:zoomtoheight(30);
						self:sleep(0.4);
						self:decelerate(0.3);
						self:addx(131);
						self:linear(0.1);
						self:zoomtoheight(122);
						self:glow(color("0,1,1,0"));
						self:linear(0.05);
						self:glow(color("1,0,1,1"));
						self:decelerate(0.4);
						self:glow(color("1,0,1,0"));
					end;
				else
					self:stoptweening();
					self:addx(-131);
					self:zoomtoheight(30);
					self:sleep(0.4);
					self:decelerate(0.3);
					self:addx(131);
					self:linear(0.1);
					self:zoomtoheight(122);
					self:glow(color("0,1,1,0"));
					self:linear(0.05);
					self:glow(color("1,0,1,1"));
					self:decelerate(0.4);
					self:glow(color("1,0,1,0"));
				end;
			end;

			CurrentSongChangedMessageCommand=function(self)
				if not GAMESTATE:IsCourseMode() then
					local song=GAMESTATE:GetCurrentSong();
					self:stoptweening();
					if song then
						if song:HasJacket() then
							self:decelerate(0.1);
							self:x(SCREEN_CENTER_X-13+96);
						else
							self:decelerate(0.1);
							self:x(SCREEN_CENTER_X-13);
						end;
					else
						self:decelerate(0.1);
						self:x(SCREEN_CENTER_X-13);
					end;
				else
					self:stoptweening();
					self:decelerate(0.1);
					self:x(SCREEN_CENTER_X-13);
				end;
			end;
		};
	};

};
return t;